右键菜单功能
使用方式
- 安装
yarn add @ektx/v-contextmenu
- 在 vues 的 state 中添加共享状态与方法
请先确保你有使用 vuex
import VContextmenu from '@ektx/v-contextmenu/store'
const store = new Vuex.Store({
modules: { VContextmenu }
})
- 在页面中调用组件
<template>
<main>
<div @contextmenu.prevent="rightClick"></div>
<VContextmenus />
</main>
</template>
<script>
import VContextmenus from '@ektx/v-contextmenus'
export default {
components: {
VContextmenus
},
data () {
return {
menu: {
data: [
{
title: 'v-contenxtmenus',
classes: 'hello',
evt (data) {
alert('Welcome Use v-contenxtmenus!')
}
},
{
title: '联系方式',
children: [
{
title: 'ektx1989@gmail.com'
},
{
title: '@宅龙猫'
}
]
},
{
type: 'separator'
},
{
title: 'Github.com',
evt () {
}
},
{
type: 'separator'
},
{
disabled: true,
title: 'v 0.1.0'
}
]
}
}
},
methods: {
rightClick (evt) {
this.$store.commit('setContextmenu', {
data: this.menu, evt
})
}
}
}
</script>
事件方法
store.commit('setContextmenu', {data, evt})
@data 菜单内容
@evt 鼠标事件
store.commit('setContextmenu', { show: false })